package com.ruoyi.manage.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 社团信息对象 cr_club
 */
public class CrClub extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 社团ID */
    private Long clubId;

    /** 社团名称 */
    @Excel(name = "社团名称")
    private String clubName;

    /** 社团编码 */
    @Excel(name = "社团编码")
    private String clubCode;

    /** 社团类型 */
    @Excel(name = "社团类型", dictType = "cr_club_type")
    private String clubType;

    /** 社团简介 */
    @Excel(name = "社团简介")
    private String description;

    /** 社团Logo地址 */
    @Excel(name = "社团Logo地址")
    private String logoUrl;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contactPerson;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 联系邮箱 */
    @Excel(name = "联系邮箱")
    private String contactEmail;

    /** 社团地址 */
    @Excel(name = "社团地址")
    private String address;

    /** 官方网站 */
    @Excel(name = "官方网站")
    private String website;

    /** 成员数量 */
    @Excel(name = "成员数量")
    private Long memberCount;

    /** 最大成员数 */
    @Excel(name = "最大成员数")
    private Long maxMembers;

    /** 成立日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "成立日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date establishmentDate;

    /** 状态 */
    @Excel(name = "状态", dictType = "sys_normal_disable")
    private String status;

    /** 排序 */
    @Excel(name = "排序")
    private Long sortOrder;

    // Getters and Setters
    public void setClubId(Long clubId) {
        this.clubId = clubId;
    }

    public Long getClubId() {
        return clubId;
    }

    public void setClubName(String clubName) {
        this.clubName = clubName;
    }

    public String getClubName() {
        return clubName;
    }

    public void setClubCode(String clubCode) {
        this.clubCode = clubCode;
    }

    public String getClubCode() {
        return clubCode;
    }

    public void setClubType(String clubType) {
        this.clubType = clubType;
    }

    public String getClubType() {
        return clubType;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setLogoUrl(String logoUrl) {
        this.logoUrl = logoUrl;
    }

    public String getLogoUrl() {
        return logoUrl;
    }

    public void setContactPerson(String contactPerson) {
        this.contactPerson = contactPerson;
    }

    public String getContactPerson() {
        return contactPerson;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContactEmail(String contactEmail) {
        this.contactEmail = contactEmail;
    }

    public String getContactEmail() {
        return contactEmail;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setWebsite(String website) {
        this.website = website;
    }

    public String getWebsite() {
        return website;
    }

    public void setMemberCount(Long memberCount) {
        this.memberCount = memberCount;
    }

    public Long getMemberCount() {
        return memberCount;
    }

    public void setMaxMembers(Long maxMembers) {
        this.maxMembers = maxMembers;
    }

    public Long getMaxMembers() {
        return maxMembers;
    }

    public void setEstablishmentDate(Date establishmentDate) {
        this.establishmentDate = establishmentDate;
    }

    public Date getEstablishmentDate() {
        return establishmentDate;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setSortOrder(Long sortOrder) {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder() {
        return sortOrder;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("clubId", getClubId())
                .append("clubName", getClubName())
                .append("clubCode", getClubCode())
                .append("clubType", getClubType())
                .append("description", getDescription())
                .append("logoUrl", getLogoUrl())
                .append("contactPerson", getContactPerson())
                .append("contactPhone", getContactPhone())
                .append("contactEmail", getContactEmail())
                .append("address", getAddress())
                .append("website", getWebsite())
                .append("memberCount", getMemberCount())
                .append("maxMembers", getMaxMembers())
                .append("establishmentDate", getEstablishmentDate())
                .append("status", getStatus())
                .append("sortOrder", getSortOrder())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}